

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-3, 3, 50)
y = 2*x + 1

plt.figure(num=1, figsize=(8, 5),)
plt.plot(x, y,)

ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
#ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data', 0))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data', 0))

#添加注释点
x0 = 1
y0 = 2*x0 + 1

plt.scatter(x0,y0,s=50,color = 'orange')

#添加注释点位置的虚线
plt.plot([x0,x0],[0,y0],linestyle = "--",color = "red")

#添加注释 方法1
plt.annotate("This a test text",xy=(x0,y0),xycoords = 'data',xytext = (+30,-50),textcoords = 'offset points',
             fontsize = 16, arrowprops = dict(arrowstyle = "->",connectionstyle = 'arc3, rad = .2'))

#添加注释 方法2
plt.text(x0+0.2,y0-0.5,"This is the second test text", fontdict={'size':10,'color':'black'})



plt.show()
